import { getApiClient } from '../utils/api';
export function useCategories() {
    // 使用 useAsyncData 实现服务端渲染
    const { data, pending, error } = useAsyncData(
        'globalCategories', // 唯一缓存键（必填）
        async () => {
            try {
                const { data } = await getApiClient().get('/app/classification/list');
                return [
                    ...data // 过滤隐藏分类
                ];
            } catch (err) {
                console.error('分类加载失败:', err);
                return []; // 返回空数组保持页面结构
            }
        },
        {
            lazy: false, // 阻塞路由直到数据加载完成[1](@ref)
            server: true, // 确保服务端执行
            headers: { 'Cache-Control': 'public, max-age=3600' } // 1小时缓存[5](@ref)
        }
    );

    return {
        categories: data,
        pending: pending,
        error
    };
}
